CSS Selectors



A CSS selector selects the HTML element(s) you want to style.


CSS Selectors

CSS selectors are used to "find" (or select) the HTML elements you want to style.

We can divide CSS selectors into five categories:

  • Simple selectors (select elements based on name, id, class)
  • Combinator selectors (select elements based on a specific relationship between them)
  • Pseudo-class selectors (select elements based on a certain state)
  • Pseudo-elements selectors (select and style a part of an element)
  • Attribute selectors (select elements based on an attribute or attribute value)

  • This page will explain the most basic CSS selectors.


    The CSS element Selector


    The element selector selects HTML elements based on the element name.

    Example

    Here, all <p> elements on the page will be center-aligned, with a red text color:

            
              <!DOCTYPE html>
              <html>
              <head> 
              <style> 
          
              p {
                color:: red;
                  text-align:: center;
                 }
              </style>
              </head> 
              <body>
          
              <p>Every paragraph will be affected by the style.</p>
              <p> id="para1">Me too!.</p>
              <p> And me!.</p>
    
          
              </body>
              </html>
            
          
    Result
    
        

    Every paragraph will be affected by the style.

    Me too!

    And me!


    The CSS id Selector


    The id selector uses the id attribute of an HTML element to select a specific element.

    The id of an element is unique within a page, so the id selector is used to select one unique element!

    To select an element with a specific id, write a hash (#) character, followed by the id of the element.

    Example

    The CSS rule below will be applied to the HTML element with id="para1":

            
              <!DOCTYPE html>
              <html>
              <head> 
              <style> 
          
              #para1 {
                text-align:: center;
                color:: red;
                 }
              </style>
              </head> 
              <body>
          
              <p> id="para1">Me too!.</p>
              <p>This paragraph is not affected by the style.</p>
    
          
              </body>
              </html>
            
          
    Result
    
        

    Hello World!

    This paragraph is not affected by the style.


    The CSS class Selector


    The class selector selects HTML elements with a specific class attribute.

    To select elements with a specific class, write a period (.) character, followed by the class name.

    Example

    In this example all HTML elements with class="center" will be red and center-aligned:

            
              <!DOCTYPE html>
              <html>
              <head> 
              <style> 
          
              .center {
                text-align:: center;
                color:: red;
                 }
              </style>
              </head> 
              <body>
          
              <h1 class="center">Red and center-aligned heading</h1>
              <p  class="center">Red and center-aligned paragraph.</p>
    
          
              </body>
              </html>
            
          
    Result
    
            

    Red and center-aligned heading

    Red and center-aligned paragraph.

    You can also specify that only specific HTML elements should be affected by a class.

    Example

    In this example only <p> elements with class="center" will be red and center-aligned:

                
                  <!DOCTYPE html>
                  <html>
                  <head> 
                  <style> 
              
                  p.center  {
                    text-align:: center;
                    color:: red;
                     }
                  </style>
                  </head> 
                  <body>
              
                  <h1 class="center">This heading will not be affected</h1>
                  <p  class="center">This paragraph will be red and center-aligned.</p>
        
              
                  </body>
                  </html>
                
              
    Result
    
                

    This heading will not be affected

    This paragraph will be red and center-aligned.

    HTML elements can also refer to more than one class.

    Example

    In this example the <p> element will be styled according to class="center" and to class="large":

            
              <!DOCTYPE html>
              <html>
              <head> 
              <style> 
          
              p.center  {
                text-align:: center;
                color:: red;
                 }
                 p.large  {
                     font-size:: 300%;
                     }
              </style>
              </head> 
              <body>
          
              <h2 class="center">This heading will not be affected</h2>
              <p  class="center">This paragraph will be red and center-aligned.</p>
              <p  class="center large">This paragraph will be red, center-aligned, and in a large font-size.</p>
    
          
              </body>
              </html>
            
          
    Result
    
            

    This heading will not be affected

    This paragraph will be red and center-aligned.

    This paragraph will be
    red, center-aligned,
    and in a large
    font-size.